Thema Datum  Von Nutzer Rating
Antwort
Rot VBA Makro | Verlinkung Excel zu PowerPoint
04.06.2020 18:27:59 Stella
NotSolved
09.06.2020 22:21:52 ralf_b
NotSolved

Ansicht des Beitrags:
Von:
Stella
Datum:
04.06.2020 18:27:59
Views:
848
Rating: Antwort:
  Ja
Thema:
VBA Makro | Verlinkung Excel zu PowerPoint

Hallo zusammen, 

ich versuche mich gerade zum ersten Mal an einer Verlinkung von Excel zu Powerpoint mit VBA Makros.

 

Aufgabenstellung:

In meiner Excel-Zelle habe ich eine Dropdown-Funktion integriert, mit welcher 4 verschiedene Texte (A,B,C,D) ausgewählt werden können. 

Nun möchte ich, je nachdem welcher Text in meiner Zelle ausgewählt wurde, die Hintergrundfarbe einer bestimmten PowerPoint-Form (Shape) einfärben. 

Hierfür gilt:

Text A (Zelle in Excel) --> Farbe grau (Shape in PowerPoint)

Text B (Zelle in Excel) --> Farbe orange (Shape in PowerPoint)

Text C (Zelle in Excel) --> Farbe gelb (Shape in PowerPoint)

Text D (Zelle in Excel) --> Farbe grün (Shape in PowerPoint)

In jeder PowerPoint-Form befindet sich bereits ein Text, dieser soll seine Schriftfarbje nach Hintergrund ebenfalls anpassen. (Grauer Hintergrund = weiße Schriftfarbe, orangener Hintergrund = schwarze Schriftfarbe, gelber HIntergrund = schwarze Schriftfarbe, grüner Hintergrund = weiße Schriftfarbe).

 

Folgendes Vorgehen habe ich mir hierfür überlegt. 

1. Das Makro wird in der Excel programmiert und öffnet bei Start des Makro automatisch eine Kopie der PowerPoint-Datei.

2. Nun stelle ich eine Verlinkung der Excel zur PowerPoint her, insb. der Zellen zu den entsprechenden Shapes in PowerPoint.

3. Als nächstes stelle ich eine If...then und IfElse-Anweisung auf, indem ich bspw. sage: Wenn das Feld "A1" in der Excel den Text "A" beinhaltet, dann Färbe das Feld "A1" in der PowerPoint-Datei grau und ändere die Schriftfarbe auf weiß.

Da ich insgesamt 80 Zellen in Excel habe, die jeweils Shapes in Pptx zugeordnet werden müssen, würde es sich vermutlich anbieten eine Schleife einzubauen. Allerdings gebe ich mich auch damit zufrieden, erstmal die Verlinkung von einer bestimmten Zelle in Excel zur einer bestimmten Shape in PowerPoint herzustellen, diese mit der entsprechenden Farbe zu befüllen und die Schriftfarbe entsprechend anzupassen.

Anbei ein erster Startversuch - wie gesagt ich bin noch Anfänger - und dies ist noch längst keine fertige Lösung. Bisher habe ich nur das automatische Öffnen der PowerPoint-Datei bei Start des Makros fehlerfrei programmiert bekommen.


Option Explicit

Sub MES_Rollout_Lib_15()

Dim MES_sheet As Presentation
Dim path As String
Dim file_name As String
Dim pptApp As Object
Dim Folie As Slide
Dim form As Shape
Dim wb As Workbook, wks As Worksheet

path = "Pfad PowerPoint Datei"
file_name = "Name PowerPoint Datei"

Set pptApp = CreateObject("PowerPoint.Application")
pptApp.Visible = True

With pptApp.Presentations.Open(path, False, True, True)
End With

Set MES_sheet = pptApp.ActivePresentation

Folie = MES_sheet.Slides(1)

If ThisWorkbook.ActiveSheet.Range("A10").Text = ("Text A") Then
    Folie.TextBox("Textfeld 4").BackColor = 15
    
    End If




'Hier noch der Versuch einer Schleife, allerdings fehlt hier noch die Verlinkung von Excel zu PowerPoint

Dim rg As Range
Dim c As Range

Set rg = ThisWorkbook.ActiveSheet.Range("A10:B25")

'Set Folie = MES_sheet.Slides(1)

For Each c In rg

    If c.Value = "Text A" Then
    Folie.Shape("A1").BackColor = 15                         'Hintergrundfarbe
    Folie.Shape("A1").Font.ColorIndex = 2                    'Änderung Schriftfarbe
    
    ElseIf c.Value = "Text B" Then
    Folie.Shape("A1").BackColor = 44
    Folie.Shape("A1").Font.ColorIndex = 2
    
    ElseIf c.Value = "Text C" Then
    Folie.Shape("A1").BackColor = 6
    Folie.Shape("A1").Font.ColorIndex = 2
    
    ElseIf c.Value = "Text D" Then
    Folie.Shape("A1").BackColor = 4
    Folie.Shape("A1").Font.ColorIndex = 2
 

    End If

Next c

End Sub




Ich freue mich auf jeden Rat und vielen Dank im Voraus! Solltet ihr noch weitere Infos benötigen, meldet euch gerne.

Lieben Gruß

 

 

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot VBA Makro | Verlinkung Excel zu PowerPoint
04.06.2020 18:27:59 Stella
NotSolved
09.06.2020 22:21:52 ralf_b
NotSolved